package com.jumi.microservice.order.context;

import com.jumi.microservice.enumerate.OrderStatusEnum;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author Dirk
 * @Date 2020-08-04 17:18
 */
public class OrderCreateContext extends AbstractTransHandlerContext {
    /**
     * 买家ID
     */
    private Long uid;

    /**
     * 买家角色
     */
    private Byte userRole;

    /**
     * 订单编号
     */
    private String orderSn;

    /**
     * 商品列表
     */
    private List<GoodsSkuContext> goodsList;

    /**
     * 订单团购价
     */
    private BigDecimal orderPromotionAmount;

    /**
     * 订单会员价
     */
    private BigDecimal orderAmount;

    /**
     * 订单状态
     */
    private OrderStatusEnum orderStatus;

    /**
     * 订单类型
     */
    private Byte orderType;

    /**
     * 运费
     */
    private BigDecimal freightFee;

    /**
     * 支付金额
     */
    private BigDecimal payAmount;

    /**
     * 支付单号
     */
    private String payNo;

    /**
     * 收件人ID
     */
    private Integer receiverId;

    /**
     * 收件人姓名
     */
    private String receiverName;

    /**
     * 收货人手机号
     */
    private String receiverPhone;

    /**
     * 收货人地址
     */
    private String receiverAddress;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 发票ID
     */
    private Integer invoiceId;

    /**
     * 邀请人ID
     */
    private Long inviteId;

    /**
     * 海外商品真实姓名
     */
    private String impRealName;

    /**
     * 海外商品身份证号
     */
    private String impCardNo;

    /**
     * 客户端ip
     */
    private String clientIp;

    /**
     * 下单平台
     */
    private byte platformType;

    /**
     * 子订单
     */
    private List<OrderCreateContext> childOrderContextList;

    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    public Byte getUserRole() {
        return userRole;
    }

    public void setUserRole(Byte userRole) {
        this.userRole = userRole;
    }

    public String getOrderSn() {
        return orderSn;
    }

    public void setOrderSn(String orderSn) {
        this.orderSn = orderSn;
    }

    public List<GoodsSkuContext> getGoodsList() {
        return goodsList;
    }

    public void setGoodsList(List<GoodsSkuContext> goodsList) {
        this.goodsList = goodsList;
    }

    public BigDecimal getOrderPromotionAmount() {
        return orderPromotionAmount;
    }

    public void setOrderPromotionAmount(BigDecimal orderPromotionAmount) {
        this.orderPromotionAmount = orderPromotionAmount;
    }

    public BigDecimal getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(BigDecimal orderAmount) {
        this.orderAmount = orderAmount;
    }

    public OrderStatusEnum getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(OrderStatusEnum orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Byte getOrderType() {
        return orderType;
    }

    public void setOrderType(Byte orderType) {
        this.orderType = orderType;
    }

    public BigDecimal getFreightFee() {
        return freightFee;
    }

    public void setFreightFee(BigDecimal freightFee) {
        this.freightFee = freightFee;
    }

    public BigDecimal getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    public String getPayNo() {
        return payNo;
    }

    public void setPayNo(String payNo) {
        this.payNo = payNo;
    }

    public Integer getReceiverId() {
        return receiverId;
    }

    public void setReceiverId(Integer receiverId) {
        this.receiverId = receiverId;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }

    public String getReceiverPhone() {
        return receiverPhone;
    }

    public void setReceiverPhone(String receiverPhone) {
        this.receiverPhone = receiverPhone;
    }

    public String getReceiverAddress() {
        return receiverAddress;
    }

    public void setReceiverAddress(String receiverAddress) {
        this.receiverAddress = receiverAddress;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Integer getInvoiceId() {
        return invoiceId;
    }

    public void setInvoiceId(Integer invoiceId) {
        this.invoiceId = invoiceId;
    }

    public Long getInviteId() {
        return inviteId;
    }

    public void setInviteId(Long inviteId) {
        this.inviteId = inviteId;
    }

    public String getImpRealName() {
        return impRealName;
    }

    public void setImpRealName(String impRealName) {
        this.impRealName = impRealName;
    }

    public String getImpCardNo() {
        return impCardNo;
    }

    public void setImpCardNo(String impCardNo) {
        this.impCardNo = impCardNo;
    }

    public String getClientIp() {
        return clientIp;
    }

    public void setClientIp(String clientIp) {
        this.clientIp = clientIp;
    }

    public byte getPlatformType() {
        return platformType;
    }

    public void setPlatformType(byte platformType) {
        this.platformType = platformType;
    }

    public List<OrderCreateContext> getChildOrderContextList() {
        return childOrderContextList;
    }

    public void setChildOrderContextList(List<OrderCreateContext> childOrderContextList) {
        this.childOrderContextList = childOrderContextList;
    }
}
